package org.nlp2rdf.navigator.component.resource;

import java.util.List;
import java.util.Map;
import java.util.Set;

import org.nlp2rdf.navigator.client.common.ExampleDTO;
import org.nlp2rdf.navigator.client.exception.NKEQueryException;
import org.nlp2rdf.navigator.component.IComponent;

public interface IResourceManager extends IComponent {

	/**
	 * fetches a label for each uri, if possible
	 * 
	 * @param uris
	 * @return
	 * @throws NKEQueryException
	 */
	public Map<String, String> getLabelsForURIs(Set<String> uris) throws NKEQueryException;

	public void getLabelsForExamples(List<ExampleDTO> exampleDTOs) throws NKEQueryException;

	public void getCommentsForExamples(List<ExampleDTO> exampleDTOs) throws NKEQueryException;

	public Map<String, String> getConceptComments(Set<String> conceptNames) throws NKEQueryException;

	// public void getLabelsForExamples(Set<ExampleDTO> examples) throws
	// MyInvalidParameterException, SparqlQueryException;
	// public void getLabelsForExamples(Set<ExampleDTO> examples, Map<String,
	// String> map) throws MyInvalidParameterException, SparqlQueryException;
	//	
	// public Map<String,String> getCommentsForConcepts(Set<String> uris) throws
	// MyInvalidParameterException, SparqlQueryException;
	// public Map<String,String> getCommentsForConcepts(Set<String> uris,
	// Map<String, String> map) throws MyInvalidParameterException,
	// SparqlQueryException ;
	// }
}
